package com.sitech.portal.system.dao;

import java.util.HashMap;
import java.util.List;

import com.sitech.ibnms.core.IPage;
import com.sitech.ibnms.core.PageForm;
import com.sitech.portal.system.domain.TblSYS_DEPT;


public interface ISysDeptDao {

	public void add(TblSYS_DEPT tblSYS_DEPT);

	public void update(TblSYS_DEPT tblSYS_DEPT);

	public void delete(TblSYS_DEPT tblSYS_DEPT);

	public TblSYS_DEPT findDepartByPK(String s);

	public List findRootDepartByCompId(String strCompId);
	
	public List findRootDepartByCompIdAndManageUnitID(String strCompId,
			String manage_unit_id);

	/**
	 * 根据DEPT_ID 查询本部门人员信息
	 * 
	 * @param DeptId
	 *            20070905 add
	 * @return
	 */
	public List findMgrIdEmployee(String DeptId);

	public List findBySuperDeptId(String strSuperDeptId);
	
	/**
	 * 获取部门以及是否有子部门
	 * @param deptId
	 * @return
	 */
	public List findDeptNodeInfo(String deptId);

	// liuwei add 20091118
	public List findByDeptId(String DeptId);

	public int findCountBySuperDeptId(String deptId);

	public List findForOptions();

	public List findDepartForBulletin();

	// 查找部门负责人
	public HashMap findDepartAdminByDeptId(String DEPT_ID);

	// 查找部门所属区域属性
	public HashMap findDepartAreaByDeptId(String DEPT_ID);

	public void delForTB_SYS_MODULE(String pre_module_id, String module_name);

	public List findRootDepartHavaChildByCompId(String COMP_ID);

	public List findDepartHavaChildBySuperDeptId(String SUPER_DEPT_ID);
	
	public IPage findListByParentId(TblSYS_DEPT tblSYS_DEPT,PageForm pageForm);
	
	public String findMaxDeptIdBySuperDeptId(String strSuperDeptId);
	
	//查找用户负责的部门
	public List<HashMap> findDeptByMgrId(String mgrId);
}
